export const crudOptions = (vm) => {
  return {
    rowHandle: {
      view: {
        thin: true,
        text: '',
        disabled () {
          return !vm.hasPermissions('Retrieve')
          // return false
        }
      },
      edit: {
        thin: true,
        text: '',
        disabled () {
          // return !vm.hasPermissions('Update')
          return false
        }
      },
      remove: {
        thin: true,
        text: '',
        disabled () {
          // return !vm.hasPermissions('Delete')
          return false
        }
      },
      fixed: 'right',
      width: 150
    },
    options: {
      tableType: 'vxe-table',
      rowKey: true, // 必须设置，true or false
      rowId: 'id',
      height: '100%', // 表格高度100%, 使用toolbar必须设置
      highlightCurrentRow: false
    },
    formOptions: { // 表单宽度
      defaultSpan: 24, // 默认的表单 span
      width: '35%'
    },
    indexRow: { // 序号
      title: '序号',
      align: 'center',
      width: 60
    },
    selectionRow: { // 多选框
      align: 'center',
      width: 46
    },
    columns: [
      {
        title: '',
        key: 'id',
        form: { // 表单配置
          disabled: true // 禁用表单编辑
        },
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        disabled: true, // 隐藏列
        sortable: true
      },
      {
        title: '商品',
        key: 'goods',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '商品' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入商品'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        }
      },
      {
        title: '库存量',
        key: 'inventory',
        type: 'number',
        // dict: { url: ''}, //数据字典
        search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '库存量' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入库存量'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '商品定价',
        key: 'goods_price',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '商品定价' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入商品定价'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '进货时间',
        key: 'purchase_goods_date',
        type: 'date',
        form: { // 表单配置
          component: {
            props: {
              clearable: true,
              format: 'yyyy-MM-dd',
              valueFormat: 'yyyy-MM-dd'
            },
            placeholder: '请输入进货时间'
          },
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '请输入进货时间' }]
        },

        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        sortable: true
      }
    ].concat(vm.commonEndColumns())
  }
}
